package cn.tedu.collections;

import java.util.*;
import java.util.concurrent.ConcurrentHashMap;

/**
 * Date：2021年11月
 * Author：程Sir
 * Name： JavaSE-API
 * Content:
 * public V put(K key, V value) : 把指定的键与指定的值添加到Map集合中。
 * 注意：put返回值是value，如果当前添加的key已经在map中有存储键值对，那么再进行添加此key的值时，会将被替换掉的原先的value返回
 * 如果当前的key是第一次添加，则返回的是null
 *
 *  public V remove(Object key) : 把指定的键对应的键值对在Map集合中删除，返回被删除元素的值。
 *
 *  public V get(Object key) 根据指定的键，在Map集合中获取对应的值。
 *
 *  public  boolean containsKey (Object key) 用于检测当前Map中是否包含给定的key。
 *
 *  public Set<K> keySet() : 获取Map集合中所有的键，存储到Set集合中。
 *
 *  public Set<Map.Entry<K,V>> entrySet() : 获取到Map集合中所有的键值对对象的集合(Set集合)。
 */
public class MapDemo {
    public static void main(String[] args) {

        //创建map集合对象
        Map<String, String> map = new HashMap<>();//添加元素
        String v1 = map.put("詹姆斯", "小皇帝");
        String v2 = map.put("库里", "小学生");
        String v3 = map.put("威少", "忍者神龟");
        String v4 = map.put("奥尼尔", "大鲨鱼");
        //输出map
        System.out.println(map);
        System.out.println(v1);
        System.out.println(v2);
        System.out.println(v3);
        System.out.println(v4);

        //判断是否包含指定的key
        boolean b = map.containsKey("詹姆斯");
        System.out.println(" =============");
        System.out.println(b);

        //将map中的key转换为set集合中的元素
        Set set = map.keySet();
        System.out.println("=============");
        System.out.println(set);

        //将map集合转换为set集合
        Set set1 = map.entrySet();
        System.out.println(set);

        //将map内的全部键值对（实体）移除
        map.clear();
        System.out.println( "================");
        System.out.println(map.size());
        System.out.println(map);



    }

}
